import random
import string

def generate_random_password(length=8):
    """
    生成随机密码，包含大小写字母、数字和特殊字符
    
    Args:
        length: 密码长度，默认为8
        
    Returns:
        随机生成的密码
    """
    # 确保每种字符类型至少包含一个
    lowercase = random.choice(string.ascii_lowercase)
    uppercase = random.choice(string.ascii_uppercase)
    digit = random.choice(string.digits)
    special = random.choice('!@#$%^&*()-_=+[]{}|;:,.<>?')
    
    # 剩余字符从所有字符集合中随机选择
    remaining_length = length - 4  # 减去已经确定的4个字符
    all_chars = string.ascii_letters + string.digits + '!@#$%^&*()-_=+[]{}|;:,.<>?'
    remaining_chars = ''.join(random.choice(all_chars) for _ in range(remaining_length))
    
    # 合并所有字符并随机打乱顺序
    password_chars = list(lowercase + uppercase + digit + special + remaining_chars)
    random.shuffle(password_chars)
    
    return ''.join(password_chars)
